home *** CD-ROM | disk | FTP | other *** search
- Revision
-
- This is the 158th revision of this document, and applies to
- UUPC/extended version 1.11z. This was last updated on May 30, 1993 by
- Drew Derbyshire.
-
-
- Introduction
-
- UUPC/extended is a PC based version (and pun of) UUCP (UNIX-to- UNIX
- copy). UUPC/extended is a program which implements peer-to-peer
- networking for using the UNIX UUCP protocols. MS-DOS or OS/2 based
- Personal Computers using these protocols can exchange mail and files
- with a UNIX system or other UUPC/extended system over dial up or
- dedicated phone lines.
-
- This file summarizes most changes made to UUPC/extended since release
- 1.11v. Please contact Drew Derbyshire, help@kew.com, for information on
- changes previous to the scope of this document or other questions.
-
- Version 1.11z Revision Summary
-
-
- Bug Fixes
-
- When UUSUB was invoked with the clear (-c) option, it wrote the cleared
- status file to the SpoolDir rather than the new directory for the file,
- the ConfDir. Corrected this oversight in hostrset.c. Also corrected
- reset of start of the collection time.
-
- RNEWS snews mode processing failed to process input files in binary
- mode; corrected by forcing all input to be read in binary mode.
-
- Corrected expand_path() so that path names beginning with tilde (~) end
- need not end with a slash (/). This mostly affects UUCP file transfers.
-
- Corrected of scrsize() to sanity check BIOS values for the screen size
- on systems running versions of DOS previous to DOS 4.0. Previously,
- invalid screen sizes were not trapped on such older systems, causing the
- internal pager to require input after every line.
-
- Corrected address parser to include the percent sign (%) in an address
- as a indicator of a non-local address. Previously, such addresses were
- handled as invalid local users.\
-
- Corrected bounce() processing to not recursively deliver mail to an
- invalid address such as the local postmaster.
-
- Corrected system alias processing to use configuration directory as
- current directory rather than a possibly invalid user home directory
- pointer. Also inserted altered system alias processing to call
- expand_path() to allow using ~user syntax in system alias include files.
-
- Correct RMAIL to not use a debug level less than zero when initialing,
- which caused configuration failure messages to be suppressed (resulting
- in RMAIL beeping and dying without offering a clue as to why).
-
- Corrected bug in UUPOLL which caused the program to spin for one second
- spitting out messages about waiting for zero seconds before running the
- daily clean up command.
-
- Bill Plummer provided fix to COMMFIFO.ASM serial port driver to provide
- delay after selected modem command operations to allow slow modems to
- respond.
-
- Corrected bug in syslog processing which caused the file to be
- prematurely closed and never reopened if multitask was not set.
-
- When UUX generated a command for a remote system, it requested the
- command file be sent before any data the command needed. Corrected this
- to sent the data first.
-
-
- Enhancements
-
- Added -t option UUCICO to cause tracing of data received or sent to
- various communications drivers to the file LINEDATA.LOG in the Spool
- directory. Previously, an undocumented feature would cause this tracing
- to be performed if the file already existed.
-
- Added multiple parallel communications drivers support to UUCICO, and
- added new drivers for via FOSSIL and ARTICOMM controlled ports under
- DOS. The FOSSIL support is enabled by installing a FOSSIL port driver
- (not supplied) and adding the keyword:
-
- suite=fossil
-
- To the modem (*.MDM) file for the affected port. Likewise, an ARTICOMM
- supported port is enabled by providing a suite=int14 keyword in the
- modem file for the port.
-
- Rewrote syslog processing to display requester of a file, the remote
- system involved, and host (UNIX format) name. The local (DOS) name is
- dropped from the log file. Many thanks to Mark W. Schumann
- <mark@whizbang.wariat.org>, who provided the INT14 driver.
-
- Added optional global keywords:
-
- Systems= and
- Passwd=
-
- To UUPC.RC file. These keywords define non-default locations of SYSTEMS
- and PASSWD files. This allows unique (dummy) copies of these files to
- be used for client workstations without passwords on shared network
- environments. The default location for these files remain in the
- UUPC/extended configuration directory.
-
- Added new option keywords senddebug and honordebug. In their default
- state, UUCICO neither transmits the current debug level to the remote
- system when calling, nor does it use the debug level sent by the remote
- system called.
-
- Note: The previous behavior was to not send the current
- debugging level but to honor the remote system's debug
- level.
-
- Renamed hpfs option to longname, which more accurately describes its (as
- yet unimplemented) processing in support of longer file names on any
- file system which supports it.
-
- Added new UUPC.RC keywords banner= and motd=, which define files
- displayed to remote users by UUCICO. If defined, the file named as the
- banner is displayed before the login prompt. Likewise, if defined the
- file named as the motd (message of the day) is displayed after a
- successful login only if the login shell is not UUCICO.
-
- Modified loading of the PASSWD file to use the configuration directory
- drive as the default when determine the drive letter for home
- directories. This allows omitting the drive letter within the PASSWD
- file.
-
- Added new OS/2 command file, GETUUPC.CMD, which is called by the other
- OS/2 scripts to determine UUPC/extended configuration information.
-
-
- Version 1.11y Revision Summary
-
-
- Bless Snuffles for she has sinned. She failed to keep track of all the
- contributors of bug fixes and enhancements for the 1.11y release. But
- you know who you are, bless you all ...
-
-
- Bug Fixes
-
- Dropped the beta test port of rn 4.3. We're working on porting the
- newer rn 4.4, but neither source nor object for this is included in
- 1.11y.
-
- Corrected bug in configuration processor which assumed all tables (i.e.
- the modem configuration table) were as long as the master configuration
- table.
-
- Added specific error message for when local host name was improperly
- added to SYSTEMS file. Formerly, UUCICO died gloriously with a
- (incorrect) message about a memory shortage in dcpsys.c.
-
- Corrected configuration processing to load UUCP spool related variables
- for RNEWS. Previously, RNEWS failed to load such information and thus
- ignored overrides of the default character set.
-
- Modified directory search functions to support longer file names used by
- non-FAT (non-DOS) file systems and to return file time and size
- information to the caller; this implicitly fixes problems with programs
- such as EXPIRE running out of memory when running on network drives due
- to bugs in the Borland C++ stat() call, which no longer has to be used
- as much.
-
- Modified UUCICO status file processing to lock the status file to avoid
- overlapping updates. Previously, race conditions could cause the file
- to be reset by mistake.
-
- Corrected printmsg() to use unique buffer for time stamp information in
- log file; formerly, the default static buffer used by various
- subroutines would be overwritten with the current time when logging.
-
- Made return codes from RMAIL more unique to allow better debugging of
- failed mail.
-
- In RNEWS, redid processing performed by SNEWS option to make it even
- dumber.
-
- Note: SNEWS processing is still broken in 1.11y because the
- file is read in text, not binary, mode.
-
- Rewrote RNEWS batched news processing to correctly process files under
- 512 bytes. Formerly, such articles and all articles following were
- dropped.
-
- Upped maximum length of news group names in RNEWS to keep it from dying
- when brain dead lusers create news groups with excessive length names.
-
- Corrected OS/2 WAITING command to load needed subroutine packages before
- using them.
-
- Corrected UUPOLL bug which caused it to exit with a return code 0 no
- matter how it was terminated.
-
- Corrected UUPOLL bug which caused it to not terminate at the correct
- time if both the -e and -f flags were specified.
-
- Added fix to COMMFIFO.ASM from William Plummer to fix incorrect assembly
- of references to COMMFIFO error counts.
-
- Modified UUCICO 'g' protocol processor to use FAR memory for packet
- buffers to reduce number of out of memory errors under 16 bit DOS and
- OS/2 compilers.
-
- Modified UUCICO 'g' protocol processor to correctly neogiate packet
- sizes with remote systems, thus allowing the remote system to send the
- local system larger packet than the local system can send the remote.
- (Error pointed out by Ian Taylor.)
-
- Corrected sample modem files to NOT enable variablepacket processing by
- default.
-
- Corrected UUCICO to not update host status if host information was not
- initialized during a passive poll.
-
- Corrected syslog option to only set buffering once for the log file if
- not multi-tasking. This bug caused 1.11x to repeatively report that
- SYSLOG file was not found when, in fact, it was fine.
-
- Corrected UUCICO modem processing to flag that graceful shutdown was
- needed for OS/2 versions of UUCICO. Previously, it exited immediately
- without closing the serial port.
-
- Corrected UUCICO modem processing to invoke carrier detect processing
- whenever the modem connects. This was previously missed for hot logins.
-
- Corrected UUCICO carrier detection processing for OS/2 communications
- driver. It previously OR'ed modem status information rather than
- AND'ing it, allowing a half-ready modem to appear ready.
-
- Modified UUCICO to trap unique error code returned by SIO serial port
- driver under OS/2 when interrupted. Interruptions of the read system
- call are not really errors, and the default error message alarmed
- Snuffles.
-
- Corrected UUSTAT to not de-reference NULL pointers when killing queued
- jobs.
-
-
- Enhancements
-
- Dave Watt <dmwatt@smersh.cambridge.ma.us>, with assistance from Evan
- Ross <evan@valentine.com>, made numerous additional changes to round out
- the Windows/NT support. One visible change is that UUPC.RC and
- PERSONAL.RC can be prefixed with WIN32. to cause the line take effect
- only under Windows/NT.
-
- The ConfDir variable is now optional. If the ConfDir is omitted from
- UUPC.RC, its value is taken from the directory for the UUPC.RC file
- specified in the UUPCSYSRC environment variable.
-
- The directories (except the user's home directory) in the UUPC.RC and
- PERSONAL.RC file can now be omitted or made relative to the ConfDir; if
- omitted, they are assumed be sub-directories of the ConfDir with default
- names. The user's home directory may be relative to the ConfDir, but it
- must not be omitted.
-
- Added new configuration variables OS2.priority and OS2.prioritydelta.
- These specify the OS/2 priority of UUCICO when connected in the range 1
- through 4, and a sub-priority of 0 through 62.
-
- Added new boolean option bounce; when enabled, this causes undeliverable
- mail to be returned to the sender (as determined by UUXQT and/or by the
- UUCP From line) with a copy to the local Postmaster.
-
- William Plummer <plummer@theme.com> made various additional changes to
- the test driver for DOS COMMFIFO package.
-
- Per request of Katherine Derbyshire <docs@kew.com>, modified GENSIG to
- print out a more useful message about the quote selected, specifically
- including the output file name.
-
-
- Versions 1.11w through 1.11x Revision Summary
-
- Bug Fixes
-
- Corrected bug in local delivery routine which failed to detect a letter
- followed by a colon in a FORWARD file was the beginning of a path name.
- This fix was supplied by Russ Nelson.
-
- Modified internal pager to not scroll top line off the screen when the
- display is aborted.
-
- Corrected RMAIL usage message to display all the operands allowed
- command's rich syntax. Fix supplied by Russ Nelson.
-
- Modified CHDIR to attempt directory change before invoking MKDIR to
- build the directory to change to. This should be faster, since a
- directory will always exist after the first CHDIR to it.
-
- import_path() mangled valid paths under certain conditions. Modified
- the routine to properly convert path names with a single character in
- the path and/or terminated by a slash.
-
- Corrected import_newsgroup() to not pad the numbers generated as part of
- names of DOS news articles. Fix provided by Kai-Uwe Rommel.
-
- Corrected via spool directory search routines to correctly handle
- interrupted searches when a connection to a host is lost. Previously,
- if a search was not determined to be interrupted, export_path() would
- catch the bad file name and abort the program ... usually.
-
- Corrected included strlwr() function to lower case the string, not upper
- case it. This problem only affected users using unsupported compilers
- which lacked this function in their run time library.
-
- Modified RNEWS to not shadow or otherwise process an empty compressed
- input file.
-
- Modified RNEWS to not shadow or otherwise process an empty compressed
- input file; also corrected the file name in various error messages
- related to uncompress processing.
-
- Modified RNEWS to report when it has to delete an article, and to
- summary number of articles dropped.
-
- Modified RNEWS to report specific error messages via printerr(), when it
- is unable to process a file.
-
- Modified RNEWS to write news in the proper news directory when the snews
- flag is set. Fix supplied by Kai-Uwe Rommel.
-
- Applied numerous minor fixes to RNEWS supplied by Kai-Uwe Rommel.
-
- Corrected EXPIRE to properly expiring one news group via the -n flag;
- fix supplied by Kai-Uwe Rommel.
-
- UUPOLL would be confused by 25 hour days caused by the end of Daylight
- savings time and attempt to poll continuously during the last hour of
- such a day. Corrected UUPOLL to realize not all days are created equal,
- and to correctly compute the next poll as the first poll of the
- following days.
-
- Altered numerous files to be unbuffered, saving on memory and reducing
- memory to memory copying of data.
-
- Deleting extra lock files was a major performance hit under OS/2 with
- UNDELETE processing enabled. Corrected UUCICO and UUXQT lock processing
- to not lock systems without reason.
-
- Suppressed closing UUCICO warning message about unable to connect to
- remote when the program was only answering the phone.
-
- Made UUCICO 'G' protocol use packets of fixed size to be more compatible
- with System V Release 4 UUCP.
-
- Made unique entries in the modem (*.MDM) file for entries for the ''g",
- "G", and "v" protocol options. Also added largepacket modem file option
- for "g" protocol to enable large packet processing under this protocol.
-
- Added new UUCICO 'v' protocol, which is 'g' protocol with optionally
- large (512) byte variable length packets. This protocol is only
- supported by other UUPC/extended systems.
-
- Corrected two problem with 'g' protocol start-up, from problem
- descriptions provided by Ian Lance Taylor, author of Taylor UUCP. Both
- fixes provide for insuring one system does not get ahead of the other,
- that is one system thinks it has initialized the connection when the
- other has not.
-
- Corrected UUCICO to not abort when fields are missing from the SYSTEMS
- file. This was based on an original fix by Eugene Nesterenko, Moscow,
- Russia.
-
- Corrected various UUCICO start-up error messages to display at debug
- level 0, not 1. Thanks to Bill Plummer for pointing this out.
-
- UUCICO would previously reject anonymous UUCP connections if the local
- system was running a high debug level. Corrected UUCICO to not confuse
- local and remote debug levels.
-
- Modified UUCICO to use a single data transfer buffer for data input and
- output as well as a command buffer, thus allowing this buffer to be
- bigger.
-
- Modified UUNAME to accept the debug level (-x) option; this was
- embarrassing since the upgrade instructions specifically said to use
- this option to determine obsolete keywords in the UUPC.RC file.
-
- Corrected UUXQT to send mail to the originator of a UUX job, not the
- local postmaster; also corrected UUXQT to not mangle the dummy input
- file name NUL and then be unable to open the mangled name. Fixes
- supplied by Charles R. (C. R.) Oldham of Arizona State University.
-
- Corrected UUSUB to reset the starting time of statistics collection when
- clearing all totals.
-
- Corrected UUXQT to report why RMAIL dies, not just that it failed.
-
- Correct RMAIL to not close its own log file, instead leaving this task
- to the common logging functions.
-
-
- Enhancements
-
- Dave Watt ported the entire source to Windows/NT. Note this platform
- has been not been tested, and executables are not supplied at this time.
- Problems are specifically known to exist in creation of the HOSTSTATUS
- file.
-
- Dave Watt also wrote DESQView support. UUPOLL and UUCICO give up the
- CPU when idle.
-
- Added a number of new sample configuration sample files, including a
- sample PERMISSN file and copies of several files used on kendra.
-
- Modified configuration file routines and expand_path() to use run time
- library supplied functions to normalize directory paths; this allows
- determining the path on drives other than the current drive.
-
- Note: Because of this change, placing floppy diskette drive
- letters in the PERMISSN file can cause the system to
- hang when it attempts to determine the current
- directory on the drive.
-
- Rewrote the OS/2 versions of UUIO, UUCLEAN and WAITING commands into
- REXX, made enhancements including using the UUPC/extended environment
- variables and aging files based on size.
-
- Added MAILCHEK command from Evan Champion <evanc@uuisis.isis.org> to
- provide running report of mail waiting in an OS/2 window using Visual
- REXX. (This command does not exist under DOS.)
-
- Modified FOPEN() to automatically retry failed file opens for 20 seconds
- if the error is a sharing violation. Also modified openline() and
- lock_system() to not use this retry processing.
-
- Moved HOSTATUS file from spool directory to configuration directory, and
- moved news ACTIVE file from news directory to configuration directory.
- This allows easily backing up these files without backing up the news or
- spool directories.
-
- Modified majority of permanent string allocations to use newly written
- routine strpool(), which allocates memory in larger blocks, thus
- bypassing malloc() space overhead. Routine also searches duplicates in
- strings to avoid allocating the same string twice. If running at debug
- level 2 or above, a summary message of the memory used (and saved) is
- printed. Also, added new boolean option SpeedOverMemory to bypass the
- duplicate string scan on slower systems.
-
- Wrote support for a system wide user aliases file. This file, used only
- by RMAIL, allows forwarding for users and/or mailing lists to be defined
- without adding the local address to the PASSWD file, resulting in
- improved efficiency for other programs which use the PASSWD file such as
- MAIL and UUCICO. Use of the system wide alias file also eliminates the
- need for dummy home directories containing forward files, resulting 4
- kilobytes disk savings per forwarded user. This support was based on a
- prototype supplied by Russ Nelson.
-
- Modified MAIL to print the numbers of items deleted by the delete
- command on one line to keep the screen from scrolling madly. Also,
- items previously deleted are not listed a second time.
-
- Added number items in the mailbox to the MAIL status command.
-
- Added "Path:", "Lines:", and "References:" to the list of items ignored
- by the internal mail pager used by the print command.
-
- Under OS/2 and DOS 4.0 or above, the internal pager now uses the true
- screen size to determine the number of lines to scroll. This allows
- exploiting 50 VGA screens or odd-sized OS/2 windows.
-
- Modified loading of ACTIVE file by news processing to not build
- directories for empty news groups. So long as the target directories
- are build by the routine posting news (i.e. RNEWS uses FOPEN()), then
- the directories will be created on demand.
-
- Enhanced EXPIRE to report bytes and articles processed, including totals
- for data purged, moved, or left eating disk space. Running EXPIRE at
- debug level 2 (-x 2) will report this information on a per group level.
-
- Modified UUPOLL to report when the UUCLEAN command is scheduled to next
- run at startup.
-
- Modified UUCICO processing enabled by the syslog option to work with the
- multitask option. Specifically, the SYSLOG is only opened when needed
- in multitasking mode and closed immediately.
-
- Modified OS/2 communications support to show communications port errors
- in English. Also added a ShowModem() function to OS/2 communications
- support to show modem status in English.
-
- Under OS/2, increased modem recover time from 0.5 seconds to 2.0 seconds
- after hanging up the telephone.
-